package com.mezz.bones.im.logic.service;


import com.mezz.bones.im.common.message.body.in.PrivateMessageRecordReq;
import com.mezz.bones.im.common.message.body.in.PrivateMessageRemoveReq;
import com.mezz.bones.im.common.message.body.out.PrivateMessageRecordRes;
import com.mezz.bones.im.logic.domain.context.PrivateMessageCreateCtx;
import com.mezz.bones.im.logic.domain.entity.ChatPrivateMessageInfo;
import com.mezz.bones.im.logic.domain.request.ApiPrivateMessageCreateRequest;

import java.util.List;

/**
 * <p>
 * IM单聊 服务类
 * </p>
 *
 * @author mezz
 * @since 2024-12-20
 */
public interface IChatPrivateMessageService {

    void saveMessagePrivate(PrivateMessageCreateCtx context);

    boolean existsMsgKey(String msgKey);

    List<PrivateMessageRecordRes> getUserPrivateMessagePage(PrivateMessageRecordReq req);

    void userPrivateMessageRemove(PrivateMessageRemoveReq req);

    void apiCreatePrivateMessage(ApiPrivateMessageCreateRequest request);
}
